/**
 * 
 */
package DBLayer;

import java.util.ArrayList;
import ModelLayer.*;

/**
 * @author cbjerg
 *
 */
public interface ProductDBIF {
	 // get all products
   public ArrayList<Product> getAllProducts(boolean retrieveAssociation);
   //get one Product having the ProductID
   public Product findProduct(int prodID, boolean retrieveAssociation);
   //find one Product having the name
   public ArrayList<Product> searchProductName(String name, boolean retrieveAssociation);
   //find one Product having the description
   public Product searchProductDescription(String prodDescription, boolean retrieveAssociation); 
   //insert a new product
   public int insertProduct(Product pro) throws Exception;
   //update information about a product  
   public int updateProduct(Product pro);
   //insert a new Draught Beer
   public int insertDraught(DraughtBeer dra) throws Exception;
   //update information about a Draught Beer  
   public int updateDraught(DraughtBeer dra);  
   //insert a new drink
   public int insertDrink(Drink dri) throws Exception; 
   //delete a product
   public int deleteProduct(int prodID);
   // find a draught beer
   public DraughtBeer findDraughtBeer(int prodID, boolean retrieveAssociation);
   // downsize inventory by amount
   public int downSizeInventory(int prodID, int amount);
}
